package listener;

import javax.servlet.http.HttpSessionEvent;

import controllers.session.LoginSession_WebSocketSession;
import core.login.LoginSession_WebSocketSessionInterface;

public class HttpSessionListenerImpl implements
		javax.servlet.http.HttpSessionListener {
	private LoginSession_WebSocketSessionInterface loginSession_WebSocketSessionInterface = LoginSession_WebSocketSession
			.getSession();

	@Override
	public void sessionCreated(HttpSessionEvent arg0) {

		System.out.println("Session:" + arg0.getSession().getId()
				+ " is Created");
		// arg0.getSession().setMaxInactiveInterval(20);
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent arg0) {
		/**
		 * httpSession默认有销毁时间销毁了需要移除websocket httpsession集合
		 */
		System.out.println("Session:" + arg0.getSession().getId()
				+ " is destroyed and invalidated");
		// 如果session被销毁那么应该移除存储session集合中该session
		loginSession_WebSocketSessionInterface.delSessionBySid(arg0.getSession().getId());
		// LoginSessionMap.SESSIONID_SESSION.remove(arg0.getSession().getId());
		// for (Entry<Long, HttpSession> entry : LoginSessionMap.LOGIN_SESSION
		// .entrySet()) {
		// if (entry.getValue().getId().equals(arg0.getSession().getId()))
		// LoginSessionMap.LOGIN_SESSION.remove(entry.getKey());
		// }
		// try {
		// loginSession_WebSocketSessionInterface.getWebSocketSession(
		// loginSession_WebSocketSessionInterface
		// .getLoginIdBySession(arg0.getSession())).close();
		//
		// //
		// WebSocketUtil.httpSessionId_webSocket.get(arg0.getSession().getId()).close();
		// } catch (IOException e) {
		// // TODO Auto-generated catch block
		// e.printStackTrace();
		// }
		// //
		// WebSocketUtil.httpSessionId_webSocket.remove(arg0.getSession().getId());
		// loginSession_WebSocketSessionInterface
		// .removeLoginSession_WebSocketSession(loginSession_WebSocketSessionInterface
		// .getLoginIdBySession(arg0.getSession()));
	}
}
